package love.xiaohh.minio.entities;

import com.alibaba.fastjson.JSON;

import java.io.Serializable;

/**
 * <p>
 * 文件属性存储实体
 * </p>
 *
 * @author XiaoHH
 * @version 1.0
 * @date 2021-11-21 星期日 9:47:26
 * @file FileStore.java
 */
public class FileStore implements Serializable {
    /**
     * 无参构造
     */
    public FileStore() {
    }

    /**
     * 全参构造
     *
     * @param uuid       文件的UUID
     * @param bucket     文件的桶名称
     * @param objectName 文件的对象名称
     * @param fileName   文件名称
     */
    public FileStore(String uuid, String bucket, String objectName, String fileName) {
        this.uuid = uuid;
        this.bucket = bucket;
        this.objectName = objectName;
        this.fileName = fileName;
    }

    /**
     * 文件的UUID
     */
    private String uuid;

    /**
     * 文件的桶名称
     */
    private String bucket;

    /**
     * 文件的对象名称
     */
    private String objectName;

    /**
     * 文件名称
     */
    private String fileName;

    public String getUuid() {
        return uuid;
    }

    public FileStore setUuid(String uuid) {
        this.uuid = uuid;
        return this;
    }

    public String getBucket() {
        return bucket;
    }

    public FileStore setBucket(String bucket) {
        this.bucket = bucket;
        return this;
    }

    public String getObjectName() {
        return objectName;
    }

    public FileStore setObjectName(String objectName) {
        this.objectName = objectName;
        return this;
    }

    public String getFileName() {
        return fileName;
    }

    public FileStore setFileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    /**
     * 将本对象转换为json格式
     *
     * @return 转换后的json
     */
    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
